<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title>转换过滤器</title>

 </head>
 <body><div class="manualnavbar" style="text-align: center;">
 <div class="prev" style="text-align: left; float: left;"><a href="filters.string.html">字符串过滤器</a></div>
 <div class="next" style="text-align: right; float: right;"><a href="filters.compression.html">压缩过滤器</a></div>
 <div class="up"><a href="filters.html">可用过滤器列表</a></div>
 <div class="home"><a href="index.html">PHP Manual</a></div>
</div><hr /><div id="filters.convert" class="section">
    <h2 class="title">转换过滤器</h2>
    <p class="simpara">如同 string.* 过滤器，convert.* 过滤器的作用就和其名字一样。转换过滤器是 PHP 5.0.0 添加的。对于指定过滤器的更多信息，请参考该函数的手册页。</p>
    <p class="simpara">
    <em>convert.base64-encode</em>和 
    <em>convert.base64-decode</em>使用这两个过滤器等同于分别用 
    <span class="function"><a href="function.base64-encode.html" class="function">base64_encode()</a></span>和 
    <span class="function"><a href="function.base64-decode.html" class="function">base64_decode()</a></span>函数处理所有的流数据。
    <em>convert.base64-encode</em>支持以一个关联数组给出的参数。如果给出了 
    <em><code class="parameter">line-length</code></em>，base64 输出将被用 
    <em><code class="parameter">line-length</code></em>个字符为 长度而截成块。如果给出了 
    <em><code class="parameter">line-break-chars</code></em>，每块将被用给出的字符隔开。这些参数的效果和用 
    <span class="function"><a href="function.base64-encode.html" class="function">base64_encode()</a></span>再加上 
    <span class="function"><a href="function.chunk-split.html" class="function">chunk_split()</a></span>相同。</p>
    <div class="example" id="example-5513">
      <p><strong>Example #1 convert.base64-encode &amp; convert.base64-decode</strong></p>
      <div class="example-contents">
        <div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />$fp&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">fopen</span><span style="color: #007700">(</span><span style="color: #DD0000">'php://output'</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'w'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">stream_filter_append</span><span style="color: #007700">(</span><span style="color: #0000BB">$fp</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'convert.base64-encode'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">fwrite</span><span style="color: #007700">(</span><span style="color: #0000BB">$fp</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"This&nbsp;is&nbsp;a&nbsp;test.\n"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">fclose</span><span style="color: #007700">(</span><span style="color: #0000BB">$fp</span><span style="color: #007700">);<br /></span><span style="color: #FF8000">/*&nbsp;Outputs:&nbsp;&nbsp;VGhpcyBpcyBhIHRlc3QuCg==&nbsp;&nbsp;*/<br /><br /></span><span style="color: #0000BB">$param&nbsp;</span><span style="color: #007700">=&nbsp;array(</span><span style="color: #DD0000">'line-length'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #0000BB">8</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'line-break-chars'&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">"\r\n"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$fp&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">fopen</span><span style="color: #007700">(</span><span style="color: #DD0000">'php://output'</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'w'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">stream_filter_append</span><span style="color: #007700">(</span><span style="color: #0000BB">$fp</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'convert.base64-encode'</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">STREAM_FILTER_WRITE</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$param</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">fwrite</span><span style="color: #007700">(</span><span style="color: #0000BB">$fp</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"This&nbsp;is&nbsp;a&nbsp;test.\n"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">fclose</span><span style="color: #007700">(</span><span style="color: #0000BB">$fp</span><span style="color: #007700">);<br /></span><span style="color: #FF8000">/*&nbsp;Outputs:&nbsp;&nbsp;VGhpcyBp<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;&nbsp;cyBhIHRl<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;&nbsp;c3QuCg==&nbsp;&nbsp;*/<br /><br /></span><span style="color: #0000BB">$fp&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">fopen</span><span style="color: #007700">(</span><span style="color: #DD0000">'php://output'</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'w'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">stream_filter_append</span><span style="color: #007700">(</span><span style="color: #0000BB">$fp</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'convert.base64-decode'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">fwrite</span><span style="color: #007700">(</span><span style="color: #0000BB">$fp</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"VGhpcyBpcyBhIHRlc3QuCg=="</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">fclose</span><span style="color: #007700">(</span><span style="color: #0000BB">$fp</span><span style="color: #007700">);<br /></span><span style="color: #FF8000">/*&nbsp;Outputs:&nbsp;&nbsp;This&nbsp;is&nbsp;a&nbsp;test.&nbsp;&nbsp;*/<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div>
</div>

    </div>
    <p class="simpara">
    <em>convert.quoted-printable-encode</em>和 
    <em>convert.quoted-printable-decode</em>使用此过滤器的 decode 版本等同于用 
    <span class="function"><a href="function.quoted-printable-decode.html" class="function">quoted_printable_decode()</a></span>函数处理所有的流数据。没有和 
    <em>convert.quoted-printable-encode</em>相对应的函数。
    <em>convert.quoted-printable-encode</em>支持以一个关联数组给出的参数。除了支持和 
    <em>convert.base64-encode</em>一样的附加参数外，
    <em>convert.quoted-printable-encode</em>还支持布尔参数 
    <em><code class="parameter">binary</code></em>和 
    <em><code class="parameter">force-encode-first</code></em>。
    <em>convert.base64-decode</em>只支持 
    <em><code class="parameter">line-break-chars</code></em>参数作为从编码载荷中剥离的类型提示。</p>
    <div class="example" id="example-5514">
      <p><strong>Example #2 convert.quoted-printable-encode &amp; convert.quoted-printable-decode</strong></p>
      <div class="example-contents">
        <div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />$fp&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">fopen</span><span style="color: #007700">(</span><span style="color: #DD0000">'php://output'</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'w'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">stream_filter_append</span><span style="color: #007700">(</span><span style="color: #0000BB">$fp</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'convert.quoted-printable-encode'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">fwrite</span><span style="color: #007700">(</span><span style="color: #0000BB">$fp</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"This&nbsp;is&nbsp;a&nbsp;test.\n"</span><span style="color: #007700">);<br /></span><span style="color: #FF8000">/*&nbsp;Outputs:&nbsp;&nbsp;=This&nbsp;is&nbsp;a&nbsp;test.=0A&nbsp;&nbsp;*/<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div>
</div>

    </div>
  </div><hr /><div class="manualnavbar" style="text-align: center;">
 <div class="prev" style="text-align: left; float: left;"><a href="filters.string.html">字符串过滤器</a></div>
 <div class="next" style="text-align: right; float: right;"><a href="filters.compression.html">压缩过滤器</a></div>
 <div class="up"><a href="filters.html">可用过滤器列表</a></div>
 <div class="home"><a href="index.html">PHP Manual</a></div>
</div></body></html>
